// package com.cxy;
//
// import com.google.common.collect.Maps;
// import org.checkerframework.checker.nullness.qual.Nullable;
//
// import java.util.Arrays;
// import java.util.HashMap;
// import java.util.LinkedHashMap;
// import java.util.LinkedList;
// import java.util.List;
// import java.util.Map;
// import java.util.Queue;
// import java.util.stream.Collectors;
// import java.util.stream.IntStream;
//
// /*********************************************************
//  * 文件名称：JsonPingPu.java
//  * 系统名称：cxycloud
//  * 模块名称：com.cxy
//  * 功能说明：
//  * 开发人员 @author：caoxy
//  * 开发时间 @date：2023/9/28 9:27
//  * 修改记录：程序版本  修改日期  修改人员  修改单号  修改说明
//  *********************************************************/
// public class JsonPingPu {
//
//     public static void main(String[] args) {
//         HashMap<String, Object> map = new HashMap<>();
//         map.put("k1","v1");
//         map.put("k2",Arrays.asList("30","31"));
//         List<List<String>> handle = handle(map, null);
//         handle.forEach(listt->listt.forEach(System.out::println));
//
//     }
//     public static List<List<String>> handle1(Map<String,Object> req,String pre){
//         if (pre == null){
//             pre = "";
//         }else {
//             pre += ".";
//         }
//         String finalPre = pre;
//         List<List<String>> strings = new LinkedList<List<String>>();
//         strings.add(new LinkedList<>());
//         strings.add(new LinkedList<>());
//         req.entrySet().forEach(entry -> {
//             if (entry.getValue() instanceof String){
//                 strings.get(0).add(finalPre + entry.getKey());
//                 strings.get(1).add((String) entry.getValue());
//             }
//             if (entry.getValue() instanceof Map){
//                 List<List<String>> handle = handle((Map<String, Object>) entry.getValue(), entry.getKey());
//                 strings.get(0).addAll(handle.get(0));
//                 strings.get(1).addAll(handle.get(1));
//             }
//             if (entry.getValue() instanceof List){
//                 List<Object> listTemp = (List) entry.getValue();
//
//                 Map<String, Object> collect =
//                         IntStream.range(0, listTemp.size()).boxed().collect(Collectors.toMap(i -> String.valueOf(i),
//                                 listTemp::get));
//                 List<List<String>> handle = handle(collect, entry.getKey());
//                 strings.get(0).addAll(handle.get(0));
//                 strings.get(1).addAll(handle.get(1));
//             }
//         });
//         return strings;
//     }
//     public static List<Map<String,Object>> handle(Map<String,Object> req,String pre){
//         if (pre == null){
//             pre = "";
//         }else{
//             pre += ".";
//         }
//         String finallPre = pre;
//         Map<String,String> 普通参数 = new LinkedHashMap<>();
//         Queue<Map.Entry> 数组参数 = new LinkedList<>();
//         req.entrySet().forEach(entry -> {
//             if (entry.getValue() instanceof String){
//                 普通参数.put(finallPre + entry.getKey(), (String) entry.getValue());
//             }
//             if (entry.getValue() instanceof Map){
//                 List<Map<String, Object>> handle =
//                         handle((Map<String, Object>) entry.getValue(), finallPre + entry.getKey());
//             }
//             if (entry.getValue() instanceof List){
//                 数组参数.add(entry);
//             }
//         });
//         while (!数组参数.isEmpty()){
//             Map.Entry poll = 数组参数.poll();
//             List value = (List) poll.getValue();
//             int size = value.size();
//         }
//     }
// }
